Skip to content

Conversation

@zhexuany
Copy link
Contributor

@zhexuany zhexuany commented Feb 8, 2026

Summary

  • Re-export CodecValue and DecodedMessage at the top level of robocodec crate
  • Users can now use robocodec::CodecValue and robocodec::DecodedMessage directly
  • Updated documentation to reflect the new public API exports

Motivation

Previously, users had to use the longer path robocodec::core::value::CodecValue or import via robocodec::core::{CodecValue, DecodedMessage}. This change makes these commonly-used types more accessible at the top level.

Changes

  • Added pub use core::value::{CodecValue, DecodedMessage}; to src/lib.rs
  • Updated public API documentation to list DecodedMessage and CodecValue
  • Updated doc examples to use the shorter import path

Users can now use robocodec::CodecValue and robocodec::DecodedMessage
directly instead of robocodec::core::value::CodecValue.
@zhexuany zhexuany merged commit 965a322 into main Feb 8, 2026
15 checks passed
@zhexuany zhexuany deleted the feat/reexport-value-types branch February 8, 2026 04:45
@greptile-apps
Copy link

greptile-apps bot commented Feb 8, 2026

Greptile Overview

Greptile Summary

This PR makes two commonly-used public types easier to import by re-exporting CodecValue and DecodedMessage from robocodec::core::value at the crate root (so users can write robocodec::{CodecValue, DecodedMessage}), and updates crate-level documentation/examples accordingly. This is a surface-level public API ergonomics change that should not affect runtime behavior beyond adding new public re-export paths.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk.
  • Change is limited to adding crate-root re-exports and doc/example updates, with no behavioral logic changes; no conflicting exports or compilation hazards were found in the updated surface API.
  • No files require special attention

Important Files Changed

Filename Overview
src/lib.rs Re-exports CodecValue and DecodedMessage from core::value at the crate root and updates docs/examples to use robocodec::{CodecValue, DecodedMessage}; no functional issues found.

Sequence Diagram

sequenceDiagram
    participant User as Library user
    participant RC as robocodec (crate root)
    participant Core as robocodec::core
    participant Val as robocodec::core::value

    User->>RC: use robocodec::{CodecValue, DecodedMessage}
    RC-->>User: re-exported types available
    RC->>Val: pub use core::value::{CodecValue, DecodedMessage}
    Val-->>RC: resolve types
    User->>Core: (still available) use robocodec::core::{CodecValue, DecodedMessage}
    Core-->>User: same types

Loading

@codecov
Copy link

codecov bot commented Feb 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant